<template>
  <el-form :model="form" ref="dynamicValidateForm" label-width="100px" :inline="inline">
    <el-form-item v-for="item in formLabel" :key="item.model" :label="item.label">
      <el-input v-model="form[item.model]" :placeholder="'请输入' + item.label" v-if="!item.type">
      </el-input>
      <!-- form[item.model]是对象的一种语法   相当于form{item:{model:''}}   -->
      <el-select v-model="form[item.model]" placeholder="请选择" v-if="item.type === 'select'">
        <el-option v-for="item in item.opts" :key="item.value" :label="item.label" :value="item.value"></el-option>
      </el-select>
      <el-switch v-model="form[item.model]" v-if="item.type === 'switch'"></el-switch>
      <el-date-picker v-model="form[item.model]" type="date" placeholder="选择日期" v-if="item.type === 'date'"
        value-format="yyyy-MM-dd"> </el-date-picker>
    </el-form-item>
    <el-form-item>
      <slot></slot>
    </el-form-item>
  </el-form>

</template>
<script>
  //封装的是公共表单   不是单独的
  export default {
    props: {
      inline: Boolean,    //设置表单是横向还是纵向    在父组件内加个inline属性(不用别的操作)  就表示为true
      form: Object,       //绑定在model上面的表单数据对象   
      formLabel: Array
    },

  }
</script>
<style lang="scss" scoped>

</style>